Diagram
Deposit & Claim
sequenceDiagram
    autonumber
    
    participant Cosmos
    actor Keeper
    actor User
    participant Supernova
    User->>Supernova: Deposit wAtom
    activate Supernova
    Supernova->>Cosmos: IBC Transfer wAtom
    activate Cosmos
    Cosmos-->>Supernova: ACK
    deactivate Cosmos
    deactivate Supernova
    
    Supernova-)Cosmos: ICA Call by Bot
    activate Supernova
    activate Cosmos
    Cosmos->>Cosmos: Delegate Atom
    Cosmos-->>Supernova: ACK
    deactivate Cosmos
    deactivate Supernova
    
    Cosmos-)Supernova: Oracle Update by Bot
    User->>Supernova: Claim snAtom
    activate Supernova
    Supernova->>User: Mint snAtom
    deactivate Supernova
Undelegate & Withdraw
sequenceDiagram
    autonumber
    
    participant Cosmos
    actor Keeper
    actor User
    participant Supernova
    
    opt Extra 3-days Batch
      User->>Supernova: Undelegate snAtom
      Supernova->>Supernova: Burn snAtom
    end
    Supernova-)Cosmos: ICA Call by Bot
    activate Supernova
    activate Cosmos
    Cosmos->>Cosmos: Unelegate Atom
    Cosmos-->>Supernova: ACK
    deactivate Cosmos
    deactivate Supernova
    
    Supernova-)Cosmos: ICA Call by Bot
    activate Supernova
    activate Cosmos
    Cosmos->>Cosmos: Withdraw Atom
    Cosmos-->>Supernova: IBC Transfer Atom
    Cosmos-->>Supernova: ACK
    deactivate Cosmos
    deactivate Supernova
    User->>Supernova: Withdraw wAtom
    activate Supernova
    Supernova->>User: Transfer wAtom
    deactivate Supernova
Auto Staking
sequenceDiagram
    autonumber
    
    participant Cosmos
    actor Keeper
    actor User
    participant Supernova
    
    Supernova-)Cosmos: ICA Call by Bot
    activate Supernova
    activate Cosmos
    Cosmos->>Cosmos: Withdraw Reward
    Cosmos->>Cosmos: Delegate
    Cosmos-->>Supernova: ACK
    deactivate Cosmos
    deactivate Supernova
    
    Cosmos-)Supernova: Oracle Update by Bot
Auto Staking (via authz)
sequenceDiagram
    autonumber
    
    participant Cosmos
    actor Keeper
    actor User
    participant Supernova
    
    Keeper->>Cosmos: Request
    activate Cosmos
    Cosmos->>Cosmos: Withdraw Reward
    Cosmos->>Cosmos: Delegate
    deactivate Cosmos
    
    Cosmos-)Supernova: Oracle Update by Bot
Emergency Withdraw (via authz)
sequenceDiagram
    autonumber
    
    participant Cosmos
    actor Keeper
    actor User
    participant Supernova
    
    Keeper->>Cosmos: Withdraw Reward
    activate Cosmos
    Cosmos->>Keeper: Get Atom
    deactivate Cosmos
    
    Keeper->>Cosmos: Undelegate Atom
    activate Cosmos
    deactivate Cosmos
    
    Keeper->>Cosmos: Withdraw Atom
    activate Cosmos
    Cosmos->>Keeper: Get Atom
    deactivate Cosmos
Swap
sequenceDiagram
    autonumber
    
    participant Cosmos
    actor Keeper
    actor User
    participant Supernova
    
    User->>Supernova: Send snAtom
    activate Supernova
    Supernova->>User: Receive wAtom
    deactivate Supernova